import React, { useState } from 'react';
import {
Leaf,
CloudRain,
TrendingUp,
Activity,
Truck,
Box,
Globe,
DollarSign,
BarChart2,
Layers,
Droplet,
Anchor,
Wind,
Settings,
Search,
ChevronDown,
ChevronUp,
Info,
Zap,
RefreshCw,
Database,
Link,
Shield
} from 'lucide-react';
// --- 组件定义 ---
const Section = ({ title, icon: Icon, children, colorClass = "bg-white", className = "" }) => (
{/* 标题栏始终横向铺满 */}
{title}
{/* 内容区域,flex-1 确保填充剩余高度 */}
{children}
);
const Card = ({ title, items, subtitle, icon: Icon, extraClass = "" }) => (
{Icon && }
{title}
{subtitle && {subtitle}}
{items.map((item, idx) => (
-
))}
);
const Badge = ({ text, color = "bg-slate-100 text-slate-600" }) => (
{text}
);
const StatBox = ({ label, value, subtext, trend }) => (
{label}
{value}
{subtext}
{trend && {trend === 'up' ? '↑ High' : '↓ Low'}}
);
// --- 主程序 ---
export default function RubberResearchFramework() {
const [activeTab, setActiveTab] = useState('all');
const [expandedLogic, setExpandedLogic] = useState(true);
const navigation = [
{ id: 'all', label: '全景视图 Dashboard' },
{ id: 'fundamental', label: '基本面 Fundamental' },
{ id: 'macro', label: '宏观面 Macro' },
{ id: 'capital', label: '资金/技术 Tech & Flow' },
];
// 布局控制逻辑
const isAll = activeTab === 'all';
const isFund = activeTab === 'fundamental';
const isMacro = activeTab === 'macro';
const isTech = activeTab === 'capital';
return (
{/* Header */}
{/* Mobile Nav */}
{navigation.map((nav) => (
))}
{/* Logic Flow Bar */}
{isAll && (
setExpandedLogic(!expandedLogic)}>
核心研究逻辑链条 Research Logic Chain
{expandedLogic ?
:
}
{expandedLogic && (
{[
{ step: "1. 定基调", desc: "宏观/政策", detail: "多空背景", color: "border-l-4 border-blue-500" },
{ step: "2. 看供需", desc: "天气/产能/轮胎", detail: "基本面松紧", color: "border-l-4 border-emerald-500" },
{ step: "3. 验库存", desc: "青岛/交易所", detail: "去库/累库", color: "border-l-4 border-orange-500" },
{ step: "4. 找位置", desc: "技术/资金", detail: "买卖时机", color: "border-l-4 border-purple-500" }
].map((item, idx) => (
{item.step}
{item.desc}
{item.detail}
))}
)}
)}
{/* --- Main Grid Layout --- */}
{/* === 左侧/主区域:基本面 (Left/Main Column) === */}
{/* 在全景视图占 9/12,在基本面视图占 12/12 (全屏) */}
{/* 供应与需求容器 */}
{/* --- SUPPLY SECTION --- */}
🇹🇭 泰国: 全球最大,关注南部雨水;东北部新增种植进入开割期",
"🇮🇩 印尼: 树龄老化,产量趋稳/下降",
"🇻🇳 越南: 3L/10号胶主要来源,出口强劲",
"🇨🇮 科特迪瓦: 非洲新星,产能释放期",
"🇨🇳 中国: 云南(全乳胶)/海南,停割期关注"
]}
/>
替代品逻辑
合成橡胶 (SBR/BR) 与天胶存在替代关系。
原油价格 ↑ → 合成胶成本 ↑ → 利多天胶
{/* Weather Block */}
天气与季节性
El Niño (厄尔尼诺)
干旱 → 减产 (Yield ↓)
La Niña (拉尼娜)
多雨 → 割胶受阻 (Tap X)
季节性: 4月开割,11-12月旺产,2月停割。
{/* Capacity Block */}
成本与周期
-
种植周期
7年开割,20年旺产
-
成本支撑
原料收购价 / 胶农人工
{/* --- DEMAND SECTION --- */}
{/* Tire Sector */}
轮胎产业 (Tire)
{/* Heavy Duty */}
全钢胎 (重卡/客车)
- 耗胶量大: 主要是天然橡胶
- 驱动: 基建开工、房地产物流
- 指标: 全钢胎开工率 (周频)
{/* Passenger Car */}
半钢胎 (乘用车)
- 新能源车 (NEV): 自重↑ = 磨损↑ = 需求↑
- 替换市场: 汽车保有量决定基数
- 出口: 关注欧美关税政策
{/* Non-Tire Sector */}
乳胶制品 (Latex)
占比 ~15%
发泡 (床垫/枕头)
医用手套
气球/胶带
{/* --- INVENTORY SECTION (Full Width) --- */}
{/* Inventory Data Points */}
{/* Inventory Logic */}
{/* === 右侧/副区域:宏观、资金、技术 (Right Column) === */}
{/* 在全景视图占 3/12,在宏观/技术视图占 12/12 (全屏) */}
{/* --- MACRO SECTION --- */}
{/* 修复布局:在全屏模式下使用Grid,在Dashboard下使用Stack */}
{/* 1. China Policy */}
{/* 在Dashboard模式下增加标题,在全屏模式下通过Card展示 */}
财政/货币刺激
基建专项债发放速率、房地产“白名单”政策。
影响: 重卡全钢胎需求
{/* 2. US Policy */}
美国政策 (US)
关税与贸易壁垒
对华轮胎“双反”及高额关税。
影响: 抑制直接出口/迫使产能转移
{/* 3. FX */}
汇率因子 (FX)
USD/THB (泰铢)
USD/CNY (人民币)
• 泰铢贬值 → 泰国出口成本↓ → 胶价承压
• 美元升值 → 进口成本↑
{/* 4. External Risks */}
外部风险
-
!
欧盟 EUDR 法案 (零毁林) 增加合规成本
-
!
海运费波动 / 航运堵塞
{/* --- CAPITAL & TECH SECTION --- */}
{/* 修复布局:同上 */}
{/* Capital Flow */}
资金博弈
非标套利: 关注 NR(20号胶) 与 RU(全乳胶) 价差。
价差过大 → 买NR抛RU
{/* Technical Indicators */}
技术指标
均线排列 (MA)
多头/空头趋势确认
K线结构
关键位顶底分型
MACD / RSI
背离与超买超卖
{/* Footer */}
© 2024 天然橡胶期货投研系统 v2.0 | Integrated Research Framework
数据来源: 交易所披露、海关总署、主产国农业部
);
}